package com.zqxx.examine.portal.persistence;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.zqxx.examine.common.utils.Page;
import com.zqxx.examine.model.question.Field;
import com.zqxx.examine.model.question.KnowledgePoint;
import com.zqxx.examine.model.question.Question;
import com.zqxx.examine.model.question.QuestionQueryResult;
import com.zqxx.examine.model.question.QuestionStatistic;
import com.zqxx.examine.model.question.QuestionStruts;
import com.zqxx.examine.model.question.QuestionType;

public abstract interface QuestionMapper
{
  public abstract List<QuestionType> getQuestionTypeList();
  
  public abstract Question getQuestionByQuestionId(@Param("questionId") int paramInt);
  
  public abstract List<Question> getQuestionByTypeId(@Param("QuestionTypeId") int paramInt, @Param("page") Page<Question> paramPage);
  
  public abstract List<QuestionStruts> getQuestionListByPointId(@Param("array") List<Integer> paramList);
  
  public abstract List<QuestionQueryResult> getQuestionAnalysisListByPointIdAndTypeId(@Param("typeId") int paramInt1, @Param("pointId") int paramInt2);
  
  public abstract List<QuestionQueryResult> getQuestionAnalysisListByIdList(@Param("array") List<Integer> paramList);
  
  public abstract List<Field> getAllField(@Param("page") Page<Field> paramPage);
  
  public abstract List<KnowledgePoint> getKnowledgePointByFieldId(@Param("array") int[] paramArrayOfInt, @Param("page") Page<KnowledgePoint> paramPage);
  
  public abstract List<QuestionQueryResult> getQuestionListByFieldId(@Param("fieldId") int paramInt, @Param("page") Page<QuestionQueryResult> paramPage);
  
  public abstract List<QuestionStatistic> getQuestionStaticByFieldId(int paramInt);
  
  public abstract List<QuestionStatistic> getTypeQuestionStaticByFieldId(int paramInt);
}
